Method and apparatus for encoding and decoding packet

ABSTRACT

A method of a transmitter transmitting a packet encoded by applying a coding scheme based on a wireless channel environment to a receiver, and a method of the receiver detecting the coding scheme applied to the encoded packet and decoding the packet, in which the transmitter applies a spreading factor corresponding to the coding scheme to a preamble of the packet, and the receiver decodes the packet by detecting the coding scheme using the preamble.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/677,252 filed on Nov. 7, 2019 which is a continuation of U.S. patentapplication Ser. No. 15/936,650 filed on Mar. 27, 2018 which is acontinuation of U.S. patent application Ser. No. 14/658,995 filed onMar. 16, 2015, now U.S. Pat. No. 10,015,290 issued on Jul. 3, 2018,which claims the benefit under 35 USC 119(a) of Korean PatentApplication Nos. 10-2014-0030435 filed on Mar. 14, 2014, and10-2015-0030298 filed on Mar. 4, 2015, in the Korean IntellectualProperty Office, the entire disclosures of which are incorporated hereinby reference for all purposes.

BACKGROUND 1. Field

The following description relates to a method and an apparatus forencoding and decoding a packet using a preamble.

DESCRIPTION OF RELATED ART

Recently, various types of multimedia content have been generated, andthus a total amount of content is increasing in a broadcasting andcommunication environment. Also, high capacity content, for example,high definition (HD) content and ultra high definition (UHD) content,are increasingly generated, and thus data congestion is intensifying. Totransmit the high capacity content from a transmitter to a receiver atan increased transmission rate, a coding scheme that is used needs tobased on a wireless channel environment. When the wireless channelenvironment permits, a coding scheme having a high code rate for datatransmission may be applied.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

In one general aspect, a packet transmission method of a transmitterincludes determining a coding scheme among a plurality of coding schemesbased on a wireless channel environment; determining a spreading factorcorresponding to the determined coding scheme; configuring a preamble ofa packet by applying the spreading factor to the preamble; encoding apayload of the packet by applying the determined coding scheme to thepayload; and transmitting the packet including the preamble and thepayload to a receiver.

The preamble may include a base preamble sequence spread by thespreading factor.

The method may further include determining the base preamble sequencebased on the spreading sequence from a plurality of base preamblesequences respectively corresponding to a plurality of spreading factorsrespectively corresponding to the plurality of coding schemes; and theplurality of base preamble sequences may be orthogonal.

The transmitter and the receiver may be configured to share informationon the spreading factor corresponding to the determined coding scheme.

The packet may further include an indicator indicating the determinedcoding scheme.

The method may further include receiving feedback on the wirelesschannel environment from the receiver; and the determining of the codingscheme may include determining the coding scheme among the plurality ofcoding schemes based on the feedback.

In another general aspect, a non-transitory computer-readable storagemedium stores instructions to cause a computer to perform the methoddescribed above

In another general aspect, a transmitter includes a processor configuredto determine a coding scheme among a plurality of coding schemes basedon a wireless channel environment, determine a spreading factorcorresponding to the determined coding scheme, configure a preamble of apacket by applying the spreading factor to the preamble, and encode apayload of the packet by applying the determined coding scheme to thepayload; and a communicator configured to transmit the packet includingthe preamble and the payload to a receiver.

In another general aspect, a packet decoding method of a receiverincludes receiving a packet from a transmitter; detecting a spreadingfactor applied to a preamble of the packet; estimating a coding schemeapplied to a payload of the packet based on the spreading factor; anddecoding the payload of the packet based on the estimated coding scheme.

The detecting may include detecting the spreading factor based on a basepreamble sequence of the preamble.

The detecting of the spreading factor may include calculatingcorrelation values between the preamble and a plurality of base preamblesequences respectively corresponding to a plurality of spreadingfactors; and detecting as the spreading factor one of the spreadingfactors corresponding to one of the base preamble sequences having agreatest correlation value among the correlation values.

The plurality of base preamble sequences may be orthogonal.

The estimated coding scheme may be a first coding scheme; the packet mayinclude an indicator indicating a second coding scheme; the method mayfurther include detecting the second coding scheme indicated by theindicator; and determining whether the first coding scheme is the sameas the second coding scheme; and the decoding may include decoding thepayload of the packet based on the first coding scheme in response to aresult of the determining being that the first coding scheme is the sameas the second coding scheme.

The method may further include determining whether an error is presentin a header of the packet including the indicator; and the detecting ofthe second coding scheme may include detecting the second coding schemein response to a result of the determining being that an error is notpresent in the header.

A weight value may be set for each of the first coding scheme and thesecond coding scheme in advance; and the decoding may include decodingthe payload of the packet by applying a coding scheme having a greaterweight value among the first coding scheme and the second coding schemein response to a result of the determining being that the first codingscheme is not the same as the second coding scheme.

The packet may include an indicator indicating a coding scheme appliedto the payload of the packet by the transmitter; the method may furtherinclude setting the indicator to a value indicating the estimated codingscheme; and determining whether an error is present in a header of thepacket including the indicator set to the value indicating the estimatedcoding scheme; and the decoding may include decoding the payload of thepacket based on the estimated coding scheme in response to a result ofthe determining being that an error is not present in the header.

The method may further include generating information on a wirelesschannel environment in which the packet was transmitted; andtransmitting the information to the transmitter.

In another general aspect, a non-transitory computer-readable storagemedium stores instructions to cause a computer to perform the methoddescribed above.

In another general aspect, a receiver includes a communicator configuredto receive a packet from a transmitter; and a processor configured todetect a spreading factor applied to a preamble of the packet, estimatea coding scheme applied to a payload of the packet based on the detectedspreading factor, and decode the payload of the packet based on theestimated coding scheme.

In another general aspect, a packet coding method includes storinginformation on a plurality of coding schemes that can be applied to apacket; setting a different spreading factor for each of the pluralityof coding schemes; encoding a payload of the packet by applying a codingscheme among the plurality of coding schemes to the payload of thepacket based on a wireless channel environment; and configuring apreamble of the packet by applying to the preamble the spreading factorset for the coding scheme applied to the payload.

In another general aspect, a packet coding method includes encoding apayload of a packet by applying to the payload a coding scheme providinga maximum throughput in a wireless channel environment in which thepacket is to be transmitted among a plurality of coding schemes eachhaving a different spreading factor; and configuring a preamble of thepacket by applying to the preamble the spreading factor of the codingscheme applied to the payload.

Each of the coding schemes may further include a different set ofspreading sequences corresponding to the spreading factor of the codingscheme, each of the spreading sequences corresponding to a differentdata value; and the encoding may include spreading data values of thepayload according to corresponding spreading sequences of the set ofspreading sequences of the coding scheme applied to the payload.

The spreading sequences may be orthogonal within each set of spreadingsequences.

Each of the coding schemes may further include a different base preamblesequence; and the configuring may include configuring the preamble ofthe packet by repeating the base preamble sequence of the coding schemeapplied to the payload a number of times equal to the spreading factorof the coding scheme applied to the payload.

The different base preamble sequences of the coding schemes may beorthogonal.

Other features and aspects will be apparent from the following detaileddescription, the drawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example of a packet transmission system.

FIG. 2 illustrates an example of a configuration of a transmitter.

FIG. 3 illustrates an example of a packet.

FIG. 4 illustrates an example of a data stream transmission method.

FIG. 5 illustrates an example of a packet transmission method.

FIG. 6 illustrates an example of a packet to be transmitted.

FIGS. 7 and 8 illustrate examples of a sequence of a preamble configuredaccording to a spreading factor.

FIG. 9 illustrates examples of a spreading sequence for a start framedelimiter (SFD) and a physical layer header (PHR) based on a spreadingfactor.

FIG. 10 illustrates an example of a PHR.

FIG. 11 illustrates an example of a modulation indicator indicating amodulation scheme applied to a packet.

FIG. 12 illustrates an example of a coding indicator indicating a codingscheme applied to a packet.

FIG. 13 illustrates an example of data rates corresponding tocombinations of a modulation scheme, an SFD/PHR spreading format, and apreamble format for a Bose, Chaudhuri, and Hocquenghem (BCH) scheme.

FIG. 14 illustrates an example of data rates corresponding tocombinations of a modulation scheme, an SFD/PHR spreading format, and apreamble format for a single parity check (SPC) scheme.

FIG. 15 illustrates an example of a configuration of a receiver.

FIG. 16 illustrates an example of a packet decoding method.

FIG. 17 illustrates an example of a spreading factor detection method.

FIG. 18 illustrates an example of a method of determining a codingscheme for use in decoding based on an indicator.

FIG. 19 illustrates an example of a method of verifying an estimatedcoding scheme.

FIG. 20 illustrates an example of a method of transmitting informationon a wireless channel environment to a transmitter.

FIG. 21 illustrates an example of a packet coding method.

DETAILED DESCRIPTION

The following detailed description is provided to assist the reader ingaining a comprehensive understanding of the methods, apparatuses,and/or systems described herein. However, various changes,modifications, and equivalents of the methods, apparatuses, and/ormethods described herein will be apparent to one of ordinary skill inthe art. The sequences of operations described herein are merelyexamples, and are not limited to those set forth herein, but may bechanged as will be apparent to one of ordinary skill in the art, withthe exception of operations necessarily occurring in a certain order.Also, descriptions of functions and constructions that are well known toone of ordinary skill in the art may be omitted for increased clarityand conciseness.

Throughout the drawings and the detailed description, the same referencenumerals refer to the same elements. The drawings may not be to scale,and the relative size, proportions, and depiction of elements in thedrawings may be exaggerated for clarity, illustration, and convenience.

The terminology used herein is for the purpose of describing particularexamples only, and is not intended to limit the scope of the disclosurein any way. As used herein, the singular forms “a,” “an,” and “the” areintended to include the plural forms as well, unless the context clearlyindicates otherwise. It will be further understood that the terms“include” and/or “have,” when used in this specification, specify thepresence of stated features, numbers, operations, elements, components,or combinations thereof, but do not preclude the presence or addition ofone or more other features, numbers, operations, elements, components,or combinations thereof.

Unless otherwise defined, all terms, including technical and scientificterms, used herein have the same meaning as commonly understood by oneof ordinary skill in the art to which this description pertains. It willbe further understood that terms, such as those defined in commonly useddictionaries, should be interpreted as having a meaning that isconsistent with their meaning in the context of the relevant art and arenot to be interpreted in an idealized or overly formal sense unlessexpressly so defined herein.

FIG. 1 illustrates an example of a packet transmission system 100.

The packet transmission system 100 includes a transmitter 110 and areceiver 120.

The transmitter 110 generates a packet including data to be transmittedto the receiver 120, and transmits the generated packet to the receiver120 through wireless communication. Each of the transmitter 110 and thereceiver 120 may be a computer, a mobile phone, a tablet, or any otherelectronic device capable of performing the wireless communication.

The wireless communication may be exposed to various non-ideal channelenvironments, including, for example, noise. A transmittable andreceivable data rate and a communication reliability level will varybased on a quality of a wireless channel or a transmission and receptiondistance. In response to a change in a wireless channel environment, apacket may be transmitted by adopting a modulation and coding scheme(MCS) varying an error rate and the data rate. In this disclosure, theterm “coding scheme” is interchangeable with the term “encoding scheme”.

The receiver 120 decodes an encoded packet to obtain the data encoded inthe packet. Thus, the receiver 120 detects a coding scheme applied tothe packet. The transmitter 110 indicates information on the codingscheme in an uncoded field in the packet. For example, the uncoded fieldmay be a header of the packet. However, this will increase a size of theheader.

Hereinafter, a method of encoding a packet while preventing an increasein a size of a header in a packet will be described with reference toFIGS. 2 through 14 .

The description about the packet encoding method provided with referenceto FIGS. 2 through 14 is also applicable to a packet modulation method.Thus, in this disclosure, coding is interchangeable with modulation, anddecoding is interchangeable with demodulation.

FIG. 2 illustrates an example of a configuration of the transmitter 110.

The transmitter 110 includes a communicator 210, a processor 220, and amemory 230.

The communicator 210 transmits a packet.

The processor 220 processes data.

The memory 230 stores a packet and data received by the communicator210, and stores the data processed by the processor 220.

Hereinafter, the communicator 210, the processor 220, and the memory 230will be described with reference to FIGS. 3 through 15 .

The description provided with reference to FIG. 1 is also applicable toFIG. 2 , but will not be repeated here for clarity and conciseness.

FIG. 3 illustrates an example of a packet 300.

The packet 300 includes a preamble 310, a start frame delimiter (SFD)320, a physical layer header (PHR) 330, and a physical layer servicedata unit (PSDU) 340. The PSDU 340 is a unit of uncoded data transferredfrom an upper layer of a physical layer as bits, and is a payload.

In this disclosure, the term “packet” is interchangeable with the term“frame”.

The preamble 310 is a bit string recorded at a head of each frame. Thepreamble 310 includes a predetermined bit pattern for framesynchronization. For example, the predetermined bit pattern may be apattern in which all bits are “1”.

The SFD 320 identifies a beginning of a frame and a reconfirmation ofsynchronization.

The PHR 330 is a field including useful information associated with thephysical layer. For example, the information includes a lengthindicator, an applied modulation scheme, and an applied coding scheme.The PHR 330 includes a header check sequence (HCS) and a field relatedto a form of the PSDU 340. The HCS is used to determine whether an errorhas occurred in the PHR 330.

The PHR 330 will be described in greater detail with reference to FIG.10 .

The PSDU 340 includes cyclical redundancy check (CRC) value and data tobe transmitted by the transmitter 110.

The description provided with reference to FIGS. 1 and 2 is alsoapplicable to FIG. 3 , but will not be repeated here for clarity andconciseness.

FIG. 4 illustrates an example of a data stream transmission method.

A physical layer receives a PSDU from an upper layer of the physicallayer. A baseband processing of operations 410 through 460 is performedon the PSDU before radio frequency (RF) processing and transmission.

In operation 410, the processor 220 encodes the PSDU using a shortenedBose, Chaudhuri, and Hocquenghem (BCH) code to protect data againstchannel induced errors and ensure uniform error protection across thedata.

In operation 420, the processor 220 performs forward error correction(FEC) coding on the encoded PSDU and performs bit-level interleaving onthe FEC-coded PSDU to generate an interleaved bitstream to minimize abit error in an event of symbol errors.

In operation 430, the processor 220 converts the bits in the interleavedbitstream from 420 into symbols.

In operation 440, the processor 220 converts each symbol from 430 into asequence of chips by performing a symbol-to-chip mapping to enhancerobustness against channel noise and interference. Each chip is asignal. The sequence of the chips is a spreading sequence. Sequencescorresponding to a plurality of symbols are orthogonal. For example, thesequence may be expressed in a ternary scale using “−1”, “0”, and “1”.

In operation 450, the processor 220 inverts a polarity of the spreadingsequence from 440 in a random fashion to remove harmonic components anda direct current (DC) component in a transmitted signal, therebyproducing a smooth continuous power spectral density (PSD). Operation450 is performed at a rate of a chip clock.

In operation 460, the processor 220 performs pulse shaping on theinverted spreading sequence to limit out-of-band emissions.

The communicator 210 transmits a data stream by transmitting thepulse-shaped inverted spreading sequence to the receiver 120.

Additionally, operation 470 may be performed in advance of operation460.

In operation 470, the processor 220 adds a preamble, an SFD, and a PHRto the inverted spreading sequence.

In operation 460, the processor 220 performs pulse shaping on thepreamble, the SFD, and the PHR, and the inverted spreading sequence.

Through operations 410 to 470, the data stream is transmitted to thereceiver 120.

The description provided with reference to FIGS. 1 through 3 is alsoapplicable to FIG. 4 , but will not be repeated here for clarity andconciseness.

FIG. 5 illustrates an example of a packet transmission method.

Operations 520 through 550 correspond to related operations amongoperations 410 through 470 of FIG. 4 . Thus, operations 410 through 470may be performed by performing operations 520 through 550. For example,operations 520 and 550 correspond to operation 410, and operations 530and 540 correspond to operation 470.

In operation 510, the communicator 210 receives feedback on a wirelesschannel environment from the receiver 120. The feedback includesinformation associated with any one or more of a signal to noise ratio(SNR), a channel quality indicator (Cal), and a data rate at which thereceiver 120 receives a packet.

In one example, operation 510 is performed selectively. For example,when the receiver 120 is included in a wireless channel environmentenabling transmission of feedback, the communicator 210 receivesfeedback on the wireless channel environment from the receiver 120.

In another example, operation 510 is performed. For example, when thereceiver 120 is included in a wireless channel environment that does notenable transmission of feedback, the communicator 210 does not receivefeedback on the wireless channel environment from the receiver 120.

When the communicator 210 does not receive the feedback, thecommunicator 210 sets a coding scheme again based on the wirelesschannel environment. For example, the communicator 210 selects a codingscheme appropriate for a wireless channel status.

In operation 520, the processor 220 determines a coding scheme among aplurality of coding schemes based on the wireless channel environment.

In one example, the processor 220 determines one of a plurality ofcoding schemes based on the feedback received from the receiver 120. Forexample, the plurality of coding schemes include a coding scheme usingBCH codes and a coding scheme using single parity check (SPC) codes.Hereinafter, the coding scheme using BCH codes will be referred to as aBCH scheme, and the coding scheme using SPC codes will be referred to asan SPC scheme.

In another example, when the communicator 210 does not receive thefeedback, the processor 220 sets a coding scheme again based on thewireless channel environment.

In a case of a modulation scheme, the processor 220 determines one of aplurality of modulation schemes based on the wireless channelenvironment. For example, the plurality of modulation schemes include1/1-TOOK (Ternary On-Off Keying), 2/4-TOOK, 3/8-TOOK, and 5/32-TOOK, allof which are well known to one of ordinary skill in the art and thuswill not be described in detail here. In this disclosure, the term“Ternary On-Off Shift Keying (TOOK)” is interchangeable with the term“Ternary Amplitude Shift Keying (TASK)”.

The plurality of TOOK modulation schemes are denoted as M/L-TOOK, whereM denotes a number of bits mapped to one symbol, and L denotes a numberof chips used for one symbol.

In operation 530, the processor 220 determines a spreading factorcorresponding to the determined coding scheme. The spreading factor is afactor used to convert a bit or a symbol into a sequence of chips. Forexample, the spreading factor may be “4” or “8”. When the spreadingfactor is “4”, the sequence of chips obtained by converting one bit orone symbol includes four chips. When the spreading factor is “8”, thesequence of chips obtained by converting one bit or one symbol includeseight chips.

The spreading factor is set in advance for each of the plurality ofcoding schemes. In one example, a spreading factor for the SPC scheme isset to “4”, and the spreading factor for the BCH scheme is set to “8”.

The transmitter 110 and the receiver 120 share information on thespreading factor set for each of the plurality of coding schemes. Thus,the transmitter 110 and the receiver share information on a spreadingfactor of the determined coding scheme. For example, the transmitter 110and the receiver 120 share a mapping table mapping the spreading factorsto the coding schemes.

In a case of the modulation, for example, a spreading factorcorresponding to 1/1-TOOK and 2/4-TOOK is “4” or “8”, and a spreadingfactor corresponding to 3/8-TOOK and 5/32-TOOK is “8”.

In operation 540, the processor 220 configures a preamble of the packetby applying the spreading factor corresponding to the determined codingscheme to the preamble. The preamble includes a base preamble sequenceset according to the spreading factor.

Spreading sequences corresponding to a plurality of spreading factorscorresponding to the plurality of coding schemes are orthogonal, meaningthat the plurality of spreading sequences are uncorrelated with oneanother, such that correlation values between the plurality of spreadingsequences are “0”. For example, a first spreading sequence indicating abit “1” for the SPC scheme and a second spreading sequence indicating abit “1” for the BCH scheme are orthogonal, such that a correlation valuebetween the first spreading sequence and the second spreading sequenceis “0”.

In operation 550, the processor 220 encodes a payload of the packet byapplying the determined coding scheme to the payload. For example, theprocessor 220 encodes a PSDU by applying the determined coding scheme tothe PSDU.

In a case of the modulation, the processor 220 modulates the payload ofthe packet by applying the determined modulation scheme to the payload.

Although FIG. 5 illustrates that operation 550 is performed subsequentto operation 540, operation 550 may also be performed in parallel withoperations 530 and 540. In one example, the processor 220 performsoperation 550 while performing operations 530 and 540. In anotherexample, operations 530 and 540 may be performed subsequent to operation550.

After operation 550 is performed, the processor 220 combines the payloadwith the preamble, the SFD, and the PHR.

The PHR includes an indicator indicating a coding scheme.

The processor 220 marks the determined coding scheme in the indicator.

In operation 560, the communicator 210 transmits the packet includingthe preamble, the SFD, the PHR, and the payload to the receiver 120. Thepacket may be transmitted using RF processing and transmission. Forexample, pulse shaping may be performed on the packet.

The description provided with reference to FIGS. 1 through 4 is alsoapplicable to FIG. 5 , but will not be repeated here for clarity andconciseness.

FIG. 6 illustrates an example of a packet 600 to be transmitted.

A preamble 610 of the packet 600 has a preamble format in which aspreading factor corresponding to a determined coding scheme is appliedto a base preamble sequence. In one example, the preamble format is P2corresponding to a spreading factor of “4”. In another example, thepreamble format is P3 corresponding to a spreading factor of “8”.

Each of an SFD 620 and a PHR 630 of the packet 600 has a spreadingformat in which the spreading factor corresponding to the determinedcoding scheme is applied to each of the SFD 620 and the PHR 630. In oneexample, the spreading format is S2 corresponding to the spreadingfactor of “4”. In another example, the spreading format is S3corresponding to the spreading factor of “8”.

A coding scheme applied to a PSDU 640 of the packet 600 is a BCH schemeor an SPC scheme.

The description provided with reference to FIGS. 1 through 5 is alsoapplicable to FIG. 6 , but will not be repeated here for clarity andconciseness.

FIGS. 7 and 8 illustrates examples of a sequence of a preambleconfigured according to a spreading factor.

Different preambles are defined to support multiple data rates andcoding schemes to maximize energy efficiency of a PSDU.

In this example, the preamble includes a base preamble sequence of 32chips. The preamble may include N_(rep) repetitions of the basesequence. A bit corresponding to a first position in a base preamblesequence may be a base preamble.

In one example, a base preamble sequence including 32 chips is used in apreamble format P2. In the preamble format P2, an entire preamble has astructure in which the base preamble sequence is repeated four timescorresponding to a spreading factor of “4”. In a non-coherent receiverincapable of verifying a positive sign and a negative sign of asequence, a preamble sequence may have a structure in which a basepreamble sequence having a period corresponding to a spreading factor,for example, a base preamble sequence having a period of “4”corresponding to a spreading factor of “4”, is repeated 32 times.

In another example, a base preamble sequence including 32 chips is usedin a preamble format P3. The base preamble sequence used in the preambleformat P3 is different from the base preamble sequence used in thepreamble format P2. In the preamble format P3, an entire preamble has astructure in which the base preamble sequence is repeated eight times.In the non-coherent receiver, a preamble sequence may have a structurein which a base preamble sequence having a period corresponding to aspreading factor, for example, a base preamble sequence having a periodof “8” corresponding to a spreading factor of “8”, is repeated 32 times.

Based on a spreading factor and a base preamble sequence that are used,two different preambles, in this example, the preambles having theformats P2 and P3, are defined.

Each base preamble sequence corresponds to a different spreading factor,and accordingly a base preamble sequence may be set according to aspreading factor.

Base preamble sequences corresponding to a plurality of differentspreading factors corresponding to a plurality of coding schemes areorthogonal, meaning that the plurality of base preamble sequences areuncorrelated with one another, such that correlation values between theplurality of base preamble sequences are “0”.

For example, in FIG. 8 , a correlation value between the base preamblesequence of the preamble format P2 and the base preamble sequence of thepreamble format P3 is “0”.

A spread SFD 720 and a spread PHR 730 are values obtained by spreadingan SFD and a PHR based on a spreading sequence, respectively.

The spread SFD 720 and the spread PHR 730 will be described in greaterdetail with reference to FIG. 9 .

The description provided with reference to FIGS. 1 through 6 are isapplicable to FIGS. 7 and 8 , but will not be repeated here for clarityand conciseness.

FIG. 9 illustrates an example of spreading sequences of an SFD and a PHRbased on a spreading factor.

Based on an applied spreading factor, two different combinations of aspreading factor and a spreading sequence, in this example, S2 and S3,are defined as the spreading formats of the SFD and the PHR. Forexample, the spreading formats of the SFD and the PHR are referred to asS2 and S3, respectively.

Based on the two different combinations of a spreading factor and aspreading sequence, the spread SFD 720 and the spread PHR 730 aregenerated.

The description provided with reference to FIGS. 1 through 8 is alsoapplicable to FIG. 9 , but will not be repeated here for clarity andconciseness.

FIG. 10 illustrates an example of a PHR.

The PHR 330 includes useful information associated with a form of thePSDU 340. The useful information includes, for example, a lengthindicator, a modulation indicator, and a coding indicator.

The length indicator indicates a length of the PSDU 340. In thisexample, the length indicator is seven bits indicating a length in arange from 0 to 127 bytes, with a least significant bit (LSB) being afirst bit in a transmission sequence.

The modulation indicator indicates a modulation scheme applied to thePSDU 340. In this example, the modulation indicator is two bits.

The coding indicator indicates a coding scheme applied to the PSDU 340.In this example, the coding indicator is one bit.

A combination of the modulation indicator and the coding indicator isreferred to as a transmission format indicator (TFI). The TFI indicatesan MCS of the PSDU 340.

An HCS is used to determine whether an error has occurred in the PHR330. The HCS may be generated by applying a two's complement method tothe bits of the PHR 330 excluding the bits of the HCS based on agenerator polynomial expressed by Equation 1 below. However, this ismerely one example, and other generator polynomials may be used.g(x)=1+x+x ⁴  (1)

FIG. 11 illustrates an example of a modulation indicator indicating amodulation scheme applied to a packet.

In this example, the modulation indicator is the ninth and tenth bits ofthe PHR 330. For example, the modulation indicator is PHR8 and PHR9.

In this example, four modulation schemes are indicated using a 2-bitmodulation indicator. The four modulation schemes include, for example,1/1-TOOK, 2/4-TOOK, 3/8-TOOK, and 5/32-TOOK.

The description provided with reference to FIGS. 1 through 10 is alsoapplicable to FIG. 11 , but will not be repeated here for clarity andconciseness.

FIG. 12 illustrates an example of a coding indicator indicating a codingscheme applied to a packet.

In this example, the coding indicator is the eleventh bit of the PHR330. In this example, the coding indicator is PHR10.

In this example, two coding schemes are indicated using a 1-bit codingindicator. In one example, a coding scheme corresponding to “0” is a BCHscheme, and “1” is reserved, i.e., there is no coding schemecorresponding to “1”. In another example, the coding schemecorresponding to “0” is the BCH scheme, and a coding schemecorresponding to “1” is an SPC scheme (not shown in FIG. 12 ).

The description provided with reference to FIGS. 1 through 11 are isapplicable to FIG. 12 , but will not be repeated here for clarity andconciseness.

FIG. 13 illustrates an example of data rates corresponding tocombinations of a modulation scheme, an SFD/PHR spreading format, and apreamble format for a BCH scheme.

FIG. 13 illustrates an example of data rates at 2.4 gigahertz (GHz) and900 megahertz (MHz). Chip rates at 2.4 GHz and 900 MHz are one megachipper second (Mcps) and 600 kilochips per second (kcps), respectively.FIG. 13 also illustrates examples of an SFD/PHR spreading format and apreamble format used for the above data rates.

In one example, data rates of D3 and D6 in FIG. 13 are used to provide ahigher data rate for a control frame. Examples of a control frameinclude a beacon frame, an acknowledgement frame, and a media accesscontrol (MAC) command frame.

The description provided with reference to FIGS. 1 through 12 is alsoapplicable to FIG. 13 , but will not be repeated here for clarity andconciseness.

FIG. 14 illustrates an example of data rates corresponding tocombinations of a modulation scheme, an SFD/PHR spreading format, and apreamble format for an SPC scheme.

In one example, an optional coding scheme is applied. The optionalcoding scheme is indicated in the reserved field of the coding indicatorof FIG. 12 . For example, referring to FIG. 14, D8 and D9 are includedas optional data rates by applying an SPC scheme to a PSDU to supporthigher data rates.

Since the SPC scheme has a code rate higher than a code rate of a BCHscheme, the above PSDU formats, for example, D8 and D9, may be appliedto provide the higher data rates shown in FIG. 14 .

The description provided with reference to FIGS. 1 through 13 is alsoapplicable to FIG. 14 , but will not be repeated here for clarity andconciseness.

FIG. 15 illustrates an example of a configuration of a receiver 1500.

The receiver 1500 includes a communicator 1510, a processor 1520, and amemory 1530. The receiver 1500 corresponds to the receiver 120 of FIG. 1. Thus, the description of the receiver 120 is also applicable to thereceiver 1500, but will not be repeated here for clarity andconciseness.

In an example, the receiver 1500 may correspond to the transmitter 110described above. For example, the communicator 210 may correspond to acommunicator 1510, the processor 220 may correspond to a processor 1520,and the memory 230 may correspond to a memory 1530. Although a packetdecoding method of the receiver 1500 is described below with referenceto FIGS. 15 through 20 , the receiver 1500 may also perform the packettransmission method performed by transmitter 110 as described withreference to FIGS. 1 through 14 .

The communicator 1510, the processor 1520, and the memory 1530 will bedescribed in greater detail with reference to FIGS. 16 through 20 .

The description provided with reference to FIGS. 1 through 14 is alsoapplicable to FIG. 15 , but will not be repeated here for clarity andconciseness.

FIG. 16 illustrates an example of a packet decoding method.

In operation 1610, the communicator 1510 receives a packet from thetransmitter 110. For example, the received packet is a packet to whicheither one or both of a coding scheme and a modulation scheme isapplied. In this example, the received packet is the packet 600 of FIG.6 .

In operation 1620, the processor 1520 detects a spreading factor appliedto the preamble 610 of the packet 600.

Operation 1620 will be described in greater detail with reference toFIG. 17 .

The processor 1520 detects the spreading factor using a preamblesequence of the preamble 610.

In operation 1630, the processor 1520 estimates a coding scheme appliedto a payload of the packet 600 based on the detected spreading factor.In this example, the payload is the PSDU 640. For example, the processor1520 performs a de-mapping on the coding scheme mapped to the detectedspreading factor using a mapping table.

In a case of a modulation, the processor 1520 estimates a modulationscheme applied to the payload of the packet 600 based on the detectedspreading factor.

In operation 1640, the processor 1520 decodes the payload of the packet600 based on the estimated coding scheme. The processor 1520 decodes thepayload based on a decoding scheme corresponding to the coding scheme.

In a case of the modulation, the processor 1520 demodulates the payloadof the packet based on the estimated modulation scheme.

The packet decoding method will be described in greater detail withreference to FIGS. 17 through 20 , and the description is alsoapplicable to a packet demodulation method. Thus, in this description,coding is interchangeable with modulation, and decoding isinterchangeable with demodulation.

The description provided with reference to FIGS. 1 through 15 is alsoapplicable to FIG. 16 , but will not be repeated here for clarity andconciseness.

FIG. 17 illustrates an example of a spreading factor detection method.

Operation 1620 of FIG. 16 includes operations 1710 and 1720.

In operation 1710, the processor 1520 calculates correlation valuesbetween a preamble and a plurality of base preamble sequencesrespectively corresponding to a plurality of spreading factors.

In one example, the plurality of base preamble sequences are orthogonal,meaning that the plurality of base preamble sequences are uncorrelatedwith one another, such that correlation values between the plurality ofbase preamble sequences are “0”. This will cause the correlation valuebetween the preamble and the base preamble sequence that was used togenerate the preamble to be significantly greater than the correlationvalues between the preamble and the other ones of the plurality of basepreamble sequences that were not used to generate the preamble.

When noise is included in a received packet, the noise may also beincluded in a preamble of the received packet.

In consideration of the noise, the processor 1520 calculates each of thecorrelation values between the preamble and the plurality of the basepreamble sequences.

For example, when a preamble including noise is r, and the plurality ofbase preamble sequences are c1 and c2, r*c1 and r*c2 are obtained as aresult of the calculating of the correlation values. The operator *denotes a correlation operation.

In operation 1720, the processor 1520 detects a spreading factorcorresponding to a base preamble sequence having a greatest correlationvalue of the calculated correlation values.

The description provided with reference to FIGS. 1 through 16 is alsoapplicable to FIG. 17 , but will not be repeated here for clarity andconciseness.

FIG. 18 illustrates an example of a method of determining a codingscheme for use in decoding based on an indicator.

In this example, operation 1810 is performed after operation 1630 inFIG. 16 .

In this example, the estimated coding scheme estimated in operation 1630is a first coding scheme. The first coding scheme is an implicit codingscheme because it is not detected explicitly, but is estimated. i.e.,detected implicitly, from the preamble.

The packet 600 includes an indicator indicating a second coding scheme.In this example, the indicator is the coding indicator in FIG. 10 .

In operation 1810, the processor 1520 detects the second coding schemeindicated by the indicator. When an error occurs in a header includingthe indicator or in a field of the indicator during a transmissionprocess, the detected second coding scheme may be different from acoding scheme set by the transmitter 110 due to the error. For example,although the transmitter 110 may have set a value indicating a BCHscheme to the indicator, the detected second coding scheme may be an SPCscheme when an error occurs in the header including the indicator or inthe field of the indicator. In this example, the header is the PHR 330in FIG. 10 .

In one example, the processor 1520 determines whether an error ispresent in the header including the indicator. When an error is notpresent in the header, the processor 1520 detects the second codingscheme. The second coding scheme is an explicit coding scheme because itis explicitly detected from the coding indicator.

In operation 1820, the processor 1520 determines whether the firstcoding scheme is the same as the second coding scheme.

When the first coding scheme is the same as the second coding scheme,operation 1830 is performed. When the first coding scheme is not thesame as the second coding scheme, operation 1840 is performed.

In this example, operation 1640 in FIG. 16 includes operations 1830 and1840.

In operation 1830, when the first coding scheme is the same as thesecond coding scheme, the processor 1520 decodes the payload of thepacket 600 based on the first coding scheme.

Thus, when the first coding scheme is the same as the second codingscheme, the estimated coding scheme is treated as an explicit codingscheme, and is used to decode the payload of the packet 600.

In operation 1840, when the first coding scheme is not the same as thesecond coding scheme, the processor 1520 decodes the payload of thepacket 600 based on a coding scheme having a greater weight valuebetween the first coding scheme and the second coding scheme. The weightvalue may be set in advance.

In one example, a weight value is set in advance to be greater for thefirst coding scheme than for the second coding scheme.

In another example, the weight value is set in advance to be greater foreither the BCH scheme or the SPC scheme.

A plurality of items of information on the indicator and the spreadingfactor may be used to estimate the coding scheme, thereby increasing anaccuracy level of the estimated coding scheme. Increasing the accuracylevel of the estimated coding scheme will reduce the number of times thesignal processing in operation 1840 needs to be performed, therebyreducing power consumption.

The description provided with reference to FIGS. 1 through 17 is alsoapplicable to FIG. 18 , but will not be repeated here for clarity andconciseness.

FIG. 19 illustrates an example of a method of verifying an estimatedcoding scheme.

Operation 1910 is performed after operation 1630 in FIG. 16 .

The packet 600 includes an indicator indicating a coding scheme appliedto a payload of the packet 600 by the transmitter 110. In this example,the indicator is the coding indicator in FIG. 10 .

In operation 1910, the processor 1520 sets the indicator to a valueindicating the estimated coding scheme.

In operation 1920, the processor 1520 determines whether an error ispresent in a header including the indicator set to the value indicatingthe estimated coding scheme. In this example, the processor 1520determines whether an error is present in the header based on the HCSincluded in the PHR 330 in FIG. 10 .

When an error is not present in the header, operation 1640 is performed.

When the error is present in the header, the processor 1520 suspendsdecoding of the packet 600.

The description provided with reference to FIGS. 1 through 18 is alsoapplicable to FIG. 19 , but will not be repeated here for clarity andconciseness.

FIG. 20 illustrates an example of a method of transmitting informationon a wireless channel environment to a transmitter.

Operations 2010 and 2020 are performed subsequent to operation 1610described above, and are performed in parallel with operations 1620through 1640.

In operation 2010, the processor 1520 generates information on awireless channel environment in which the packet 600 was transmitted.The information includes one or more of a data rate, a CQI, and an SNR.The generated information constitutes a feedback on the wireless channelenvironment.

In operation 2020, the communicator 1510 transmits the generatedinformation to the transmitter 110.

The description provided with reference to FIGS. 1 through 19 is alsoapplicable to FIG. 20 , but will not be repeated here for clarity andconciseness.

FIG. 21 illustrates an example of a packet coding method.

In operation 2110, the processor 220 stores information on a pluralityof coding schemes that may be applied to the packet 600 in the memory230.

In operation 2120, in one example, the processor 220 sets a differentspreading factor for each of the plurality of coding schemes. Forexample, a plurality of different predetermined spreading factors areset for a plurality predetermined coding schemes by respectively mappingthe plurality of different spreading factors to the plurality of codingschemes.

In one example, the communicator 210 receives a plurality of differentspreading factors to be set for the plurality of coding schemes from auser of the transmitter 110. The processor 220 respectively sets thereceived plurality of different spreading factors for the plurality ofcoding schemes so that a different one of each of the received pluralityof different spreading factors is set for each of the plurality ofcoding schemes.

In operation 2130, the processor 220 encodes a payload of the packet 600by applying to the payload a coding scheme determined among theplurality of coding schemes based on a wireless channel environment.

In operation 2140, the processor 220 configures a preamble of the packet600 by applying to the preamble the spreading factor set for the codingapplied to the preamble.

The coding scheme to be applied to the packet 600 may be changed basedon the wireless channel environment so that a spreading factorcorresponding to the coding scheme is applied to the packet 600. Byapplying a coding scheme appropriate for the wireless channelenvironment, either one or both of a throughput and a data rate may beimproved. The coding scheme to be applied to the packet 600 may be oneof the plurality of coding schemes that provides a maximum throughput inthe wireless channel environment.

For example, a first code rate of a first coding scheme may be similarto a second code rate of a second coding scheme different from the firstcoding scheme. When the first coding scheme is more appropriate for highspeed transmission than the first coding scheme in view of a complexity,a smaller spreading factor may be applied to the preamble of the firstcoding scheme, thereby increasing a throughput and an overalltransmission efficiency. The preamble having the smaller spreadingfactor will include a smaller number of base preamble sequences.

In one example, the throughput may be improved by reducing a size of thespreading factor applied to the preamble.

Although the description of FIG. 21 refers to a packet coding method,the description is also applicable to a packet modulation method. Thus,in this description, coding is interchangeable with modulation.

The description provided with reference to FIGS. 1 through 20 is alsoapplicable to FIG. 20 , but will not be repeated here for clarity andconciseness.

The transmitter 110 and the receiver 120 in FIG. 1 , the communicator210, the processor 220, and the memory 230 in FIG. 2 , the communicator1510, the processor 1520, and the memory 1530 in FIG. 15 that performthe various operations described with respect to FIGS. 1-21 may beimplemented using one or more hardware components, one or more softwarecomponents, or a combination of one or more hardware components and oneor more software components.

A hardware component may be, for example, a physical device thatphysically performs one or more operations, but is not limited thereto.Examples of hardware components include resistors, capacitors,inductors, power supplies, frequency generators, operational amplifiers,power amplifiers, low-pass filters, high-pass filters, band-passfilters, analog-to-digital converters, digital-to-analog converters, andprocessing devices.

A software component may be implemented, for example, by a processingdevice controlled by software or instructions to perform one or moreoperations, but is not limited thereto. A computer, controller, or othercontrol device may cause the processing device to run the software orexecute the instructions. One software component may be implemented byone processing device, or two or more software components may beimplemented by one processing device, or one software component may beimplemented by two or more processing devices, or two or more softwarecomponents may be implemented by two or more processing devices.

A processing device may be implemented using one or more general-purposeor special-purpose computers, such as, for example, a processor, acontroller and an arithmetic logic unit, a digital signal processor, amicrocomputer, a field-programmable array, a programmable logic unit, amicroprocessor, or any other device capable of running software orexecuting instructions. The processing device may run an operatingsystem (OS), and may run one or more software applications that operateunder the OS. The processing device may access, store, manipulate,process, and create data when running the software or executing theinstructions. For simplicity, the singular term “processing device” maybe used in the description, but one of ordinary skill in the art willappreciate that a processing device may include multiple processingelements and multiple types of processing elements. For example, aprocessing device may include one or more processors, or one or moreprocessors and one or more controllers. In addition, differentprocessing configurations are possible, such as parallel processors ormulti-core processors.

A processing device configured to implement a software component toperform an operation A may include a processor programmed to runsoftware or execute instructions to control the processor to performoperation A. In addition, a processing device configured to implement asoftware component to perform an operation A, an operation B, and anoperation C may have various configurations, such as, for example, aprocessor configured to implement a software component to performoperations A, B, and C; a first processor configured to implement asoftware component to perform operation A, and a second processorconfigured to implement a software component to perform operations B andC; a first processor configured to implement a software component toperform operations A and B, and a second processor configured toimplement a software component to perform operation C; a first processorconfigured to implement a software component to perform operation A, asecond processor configured to implement a software component to performoperation B, and a third processor configured to implement a softwarecomponent to perform operation C; a first processor configured toimplement a software component to perform operations A, B, and C, and asecond processor configured to implement a software component to performoperations A, B, and C, or any other configuration of one or moreprocessors each implementing one or more of operations A, B, and C.Although these examples refer to three operations A, B, C, the number ofoperations that may implemented is not limited to three, but may be anynumber of operations required to achieve a desired result or perform adesired task.

Functional programs, codes, and code segments for implementing theexamples disclosed herein can be easily constructed by a programmerskilled in the art to which the examples pertain based on the drawingsand their corresponding descriptions as provided herein.

Software or instructions for controlling a processing device toimplement a software component may include a computer program, a pieceof code, an instruction, or some combination thereof, for independentlyor collectively instructing or configuring the processing device toperform one or more desired operations. The software or instructions mayinclude machine code that may be directly executed by the processingdevice, such as machine code produced by a compiler, and/or higher-levelcode that may be executed by the processing device using an interpreter.The software or instructions and any associated data, data files, anddata structures may be embodied permanently or temporarily in any typeof machine, component, physical or virtual equipment, computer storagemedium or device, or a propagated signal wave capable of providinginstructions or data to or being interpreted by the processing device.The software or instructions and any associated data, data files, anddata structures also may be distributed over network-coupled computersystems so that the software or instructions and any associated data,data files, and data structures are stored and executed in a distributedfashion.

While this disclosure includes specific examples, it will be apparent toone of ordinary skill in the art that various changes in form and detailmay be made in these examples without departing from the spirit andscope of the claims and their equivalents. For example, suitable resultsmay be achieved if the described techniques are performed in a differentorder, and/or if components in a described system, architecture, device,or circuit are combined in a different manner, and/or replaced orsupplemented by other components or their equivalents. Therefore, thescope of the disclosure is defined not by the detailed description, butby the claims and their equivalents, and all variations within the scopeof the claims and their equivalents are to be construed as beingincluded in the disclosure.

What is claimed is:
 1. A receiver, comprising: a receiver configured toreceive a signal from a transmitter; and a processor configured toprocess the signal, wherein the processed signal comprises: a preamble,a spread SFD (start frame delimiter), a spread PHR (physical layerHeader), and a sequence of chips, wherein, in the spread PHR, a firstbit in the spread PHR is mapped to a first ternary sequence and a secondbit in the spread PHR is mapped to a second ternary sequence, the firstand second ternary sequences being orthogonal, wherein the preamble is aternary base sequence of length 32 chips repeated 8 times, and whereinthe ternary base sequence is [1 0 −1 0 0 −1 0 −1 1 0 1 0 0 −1 0 1 1 0 10 0 −1 0 1 −1 0 1 0 0 1 0 1].
 2. The receiver of claim 1, wherein [0 −10 1 1 0 −1 0] in the spread SFD corresponds to 0, and [1 0 −1 0 0 −1 01] in the spread SFD corresponds to
 1. 3. The receiver of claim 1,wherein [0 −1 0 1 1 0 −1 0] in the spread PHR corresponds to 0, and [1 0−1 0 0 −1 0 1] in the spread PHR corresponds to
 1. 4. An operatingmethod of a receiver, the method comprising: receiving a signal from atransmitter; and processing the signal, wherein the processed signalcomprises: a preamble, a spread SFD (start frame delimiter), a spreadPHR (physical layer Header), and a sequence of chips, wherein, in thespread PHR, a first bit in the spread PHR is mapped to a first ternarysequence and a second bit in the spread PHR is mapped to a secondternary sequence, the first and second ternary sequences beingorthogonal, wherein the preamble is a ternary base sequence of length 32chips repeated 8 times, and wherein the ternary base sequence is [1 0 −10 0 −1 0 −1 1 0 1 0 0 −1 0 1 1 0 1 0 0 −1 0 1 −1 0 1 0 0 1 0 1].
 5. Themethod of claim 4, wherein [0 −1 0 1 1 0 −1 0] in the spread SFDcorresponds to 0, and [1 0 −1 0 0 −1 0 1] in the spread SFD correspondsto
 1. 6. The method of claim 4, wherein [0 −1 0 1 1 0 −1 0] in thespread PHR corresponds to 0, and [1 0 −1 0 0 −1 0 1] in the spread PHRcorresponds to 1.